package com.gite.nouette.admin.contract.integrator.factory;

import com.gite.nouette.admin.contract.controller.ICAdmin;
import com.gite.nouette.admin.contract.controller.ICContainerModule;
import com.gite.nouette.admin.contract.controller.ICHandlerModule;
import com.gite.nouette.admin.contract.controller.ICManager;
import com.gite.nouette.admin.contract.controller.command.ICCommandCreateModule;
import com.gite.nouette.admin.contract.controller.command.ICCommandModule;
import com.gite.nouette.admin.contract.controller.command.ICCommandRemoveModule;
import com.gite.nouette.admin.contract.controller.module.ICModuleError;
import com.gite.nouette.admin.contract.controller.module.ICModuleLog;

public interface IFactoryController extends IFactoryModel {

	IFactoryModel getFactoryModel();

	void setFactoryModel(IFactoryModel factoryModel);

	IFactoryView getFactoryView();

	void setFactoryView(IFactoryView factoryView);

	ICAdmin getCAdmin();

	ICManager getCManager();

	ICHandlerModule getCHandlerModule();

	ICContainerModule getCContainerModule();

	ICModuleLog getCModuleLog(ICCommandModule<?, ?>... headerCCommands);

	ICModuleError getCModuleError(ICCommandModule<?, ?>... headerCCommands);

	ICCommandCreateModule getCCommandCreateModule();

	ICCommandRemoveModule getCCommandRemoveModule();

}
